package it.iubar.paghe.logic.anagrafica.auto;

import java.util.List;

import org.apache.cayenne.CayenneDataObject;

import it.iubar.paghe.logic.anagrafica.Cantiere;
import it.iubar.paghe.logic.anagrafica.Comune;
import it.iubar.paghe.logic.anagrafica.Lavoratore;
import it.iubar.paghe.logic.anagrafica.Personafisica;
import it.iubar.paghe.logic.anagrafica.Personagiuridica;
import it.iubar.paghe.logic.anagrafica.Sedeimpresa;
import it.iubar.paghe.logic.anagrafica.Statoestero;
import it.iubar.paghe.logic.anagrafica.Tipoindirizzo;
import it.iubar.paghe.logic.anagrafica.Titolaredati;
import it.iubar.paghe.logic.anagrafica.Toponimo;

/**
 * Class _Indirizzo was generated by Cayenne.
 * It is probably a good idea to avoid changing this class manually,
 * since it may be overwritten next time code is regenerated.
 * If you need to make any customizations, please use subclass.
 */
public abstract class _Indirizzo extends CayenneDataObject {

    public static final String CAP_PROPERTY = "cap";
    public static final String IDINDIRIZZO_PROPERTY = "idindirizzo";
    public static final String INDIRIZZO_PROPERTY = "indirizzo";
    public static final String LOCALITA_PROPERTY = "localita";
    public static final String NUMCIVICO_PROPERTY = "numcivico";
    public static final String CANTIERE_ARRAY_PROPERTY = "cantiereArray";
    public static final String LAVORATORE2ARRAY_PROPERTY = "lavoratore2Array";
    public static final String LAVORATORE_ARRAY_PROPERTY = "lavoratoreArray";
    public static final String PFDOMICILIO_ARRAY_PROPERTY = "pfdomicilioArray";
    public static final String PFRESIDENZA_ARRAY_PROPERTY = "pfresidenzaArray";
    public static final String PGSEDELEGALE_ARRAY_PROPERTY = "pgsedelegaleArray";
    public static final String SEDEIMPRESA_INDIRIZZO_PROPERTY = "sedeimpresaIndirizzo";
    public static final String TITOLAREDATIDOMICILIO_ARRAY_PROPERTY = "titolaredatidomicilioArray";
    public static final String TO_COMUNE_PROPERTY = "toComune";
    public static final String TO_STATOESTERO_PROPERTY = "toStatoestero";
    public static final String TO_TIPOINDIRIZZO_PROPERTY = "toTipoindirizzo";
    public static final String TO_TOPONIMO_PROPERTY = "toToponimo";

    public static final String IDINDIRIZZO_PK_COLUMN = "IDINDIRIZZO";

    public void setCap(String cap) {
        writeProperty("cap", cap);
    }
    public String getCap() {
        return (String)readProperty("cap");
    }

    public void setIdindirizzo(Integer idindirizzo) {
        writeProperty("idindirizzo", idindirizzo);
    }
    public Integer getIdindirizzo() {
        return (Integer)readProperty("idindirizzo");
    }

    public void setIndirizzo(String indirizzo) {
        writeProperty("indirizzo", indirizzo);
    }
    public String getIndirizzo() {
        return (String)readProperty("indirizzo");
    }

    public void setLocalita(String localita) {
        writeProperty("localita", localita);
    }
    public String getLocalita() {
        return (String)readProperty("localita");
    }

    public void setNumcivico(String numcivico) {
        writeProperty("numcivico", numcivico);
    }
    public String getNumcivico() {
        return (String)readProperty("numcivico");
    }

    public void addToCantiereArray(Cantiere obj) {
        addToManyTarget("cantiereArray", obj, true);
    }
    public void removeFromCantiereArray(Cantiere obj) {
        removeToManyTarget("cantiereArray", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Cantiere> getCantiereArray() {
        return (List<Cantiere>)readProperty("cantiereArray");
    }


    public void addToLavoratore2Array(Lavoratore obj) {
        addToManyTarget("lavoratore2Array", obj, true);
    }
    public void removeFromLavoratore2Array(Lavoratore obj) {
        removeToManyTarget("lavoratore2Array", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Lavoratore> getLavoratore2Array() {
        return (List<Lavoratore>)readProperty("lavoratore2Array");
    }


    public void addToLavoratoreArray(Lavoratore obj) {
        addToManyTarget("lavoratoreArray", obj, true);
    }
    public void removeFromLavoratoreArray(Lavoratore obj) {
        removeToManyTarget("lavoratoreArray", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Lavoratore> getLavoratoreArray() {
        return (List<Lavoratore>)readProperty("lavoratoreArray");
    }


    public void addToPfdomicilioArray(Personafisica obj) {
        addToManyTarget("pfdomicilioArray", obj, true);
    }
    public void removeFromPfdomicilioArray(Personafisica obj) {
        removeToManyTarget("pfdomicilioArray", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Personafisica> getPfdomicilioArray() {
        return (List<Personafisica>)readProperty("pfdomicilioArray");
    }


    public void addToPfresidenzaArray(Personafisica obj) {
        addToManyTarget("pfresidenzaArray", obj, true);
    }
    public void removeFromPfresidenzaArray(Personafisica obj) {
        removeToManyTarget("pfresidenzaArray", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Personafisica> getPfresidenzaArray() {
        return (List<Personafisica>)readProperty("pfresidenzaArray");
    }


    public void addToPgsedelegaleArray(Personagiuridica obj) {
        addToManyTarget("pgsedelegaleArray", obj, true);
    }
    public void removeFromPgsedelegaleArray(Personagiuridica obj) {
        removeToManyTarget("pgsedelegaleArray", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Personagiuridica> getPgsedelegaleArray() {
        return (List<Personagiuridica>)readProperty("pgsedelegaleArray");
    }


    public void addToSedeimpresaIndirizzo(Sedeimpresa obj) {
        addToManyTarget("sedeimpresaIndirizzo", obj, true);
    }
    public void removeFromSedeimpresaIndirizzo(Sedeimpresa obj) {
        removeToManyTarget("sedeimpresaIndirizzo", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Sedeimpresa> getSedeimpresaIndirizzo() {
        return (List<Sedeimpresa>)readProperty("sedeimpresaIndirizzo");
    }


    public void addToTitolaredatidomicilioArray(Titolaredati obj) {
        addToManyTarget("titolaredatidomicilioArray", obj, true);
    }
    public void removeFromTitolaredatidomicilioArray(Titolaredati obj) {
        removeToManyTarget("titolaredatidomicilioArray", obj, true);
    }
    @SuppressWarnings("unchecked")
    public List<Titolaredati> getTitolaredatidomicilioArray() {
        return (List<Titolaredati>)readProperty("titolaredatidomicilioArray");
    }


    public void setToComune(Comune toComune) {
        setToOneTarget("toComune", toComune, true);
    }

    public Comune getToComune() {
        return (Comune)readProperty("toComune");
    }


    public void setToStatoestero(Statoestero toStatoestero) {
        setToOneTarget("toStatoestero", toStatoestero, true);
    }

    public Statoestero getToStatoestero() {
        return (Statoestero)readProperty("toStatoestero");
    }


    public void setToTipoindirizzo(Tipoindirizzo toTipoindirizzo) {
        setToOneTarget("toTipoindirizzo", toTipoindirizzo, true);
    }

    public Tipoindirizzo getToTipoindirizzo() {
        return (Tipoindirizzo)readProperty("toTipoindirizzo");
    }


    public void setToToponimo(Toponimo toToponimo) {
        setToOneTarget("toToponimo", toToponimo, true);
    }

    public Toponimo getToToponimo() {
        return (Toponimo)readProperty("toToponimo");
    }


}
